package Negocio;

import java.util.Collection;

import DTO.DTO_Tarea;
import Entities.Entity_Tarea;

public class Tarea {
	
	private ElaboracionNoVenta item;
	private float cantidad;
	private String unidad;
	private float horas;
	private String estado;
	private Local local;
	
	//Constructores
	public Tarea(ElaboracionNoVenta item, float cantidad, String unidad,
			float horas, String estado, Local local) {
		super();
		this.item = item;
		this.cantidad = cantidad;
		this.unidad = unidad;
		this.estado = estado;
		this.local = local;
		
	}
	
	public Tarea(DTO_Tarea tarea){
		this.item = new ElaboracionNoVenta(tarea.getItem());
		this.cantidad = tarea.getCantidad();
		this.unidad = tarea.getUnidad();
		this.horas = tarea.getHoras();
		this.estado = tarea.getEstado();
		this.local = new Local(tarea.getLocal());
	}
	
	public Tarea() {
		this.cantidad=0;
	}

	public Tarea(Entity_Tarea tarea) {
		this.item = new ElaboracionNoVenta(tarea.getItem());
		this.cantidad = tarea.getCantidad();
		this.unidad = tarea.getUnidad();
		this.horas = tarea.getHoras();
		this.estado = tarea.getEstado();
		this.local = new Local(tarea.getLocal());
	}

	//GET & SET
	public ElaboracionNoVenta getItem() {
		return item;
	}

	public void setItem(ElaboracionNoVenta item) {
		this.item = item;
		if(this.cantidad!=0)
			this.horas=item.getReceta().getTiempoElaboracion()*this.cantidad;
	}

	public float getCantidad() {
		return cantidad;
	}

	public void setCantidad(float cantidad) {
		this.cantidad = cantidad;
		if(!this.item.equals(null))
			this.horas=cantidad*this.item.getReceta().getTiempoElaboracion();
	}

	public String getUnidad() {
		return unidad;
	}

	public void setUnidad(String unidad) {
		this.unidad = unidad;
	}

	public float getHoras() {
		return horas;
	}

	public String getEstado() {
		return estado;
	}

	public void setEstado(String estado) {
		this.estado = estado;
	}

	public Local getLocal() {
		return local;
	}

	public void setLocal(Local local) {
		this.local = local;
	}
	
	//METODOS DE NEGOCIO
	public DTO_Tarea toDTO(){
		DTO_Tarea t = new DTO_Tarea();
		t.setCantidad(cantidad);
		t.setEstado(estado);
		t.setHoras(horas);
		t.setUnidad(unidad);
		t.setItem(item.toDTO());
		t.setLocal(local.toDTO());
		return t;
	}

	public Entity_Tarea toEntity() {
		Entity_Tarea t = new Entity_Tarea();
		t.setCantidad(cantidad);
		t.setEstado(estado);
		t.setHoras(horas);
		t.setUnidad(unidad);
		t.setItem(item.toEntity());
		t.setLocal(local.toEntity());
		return t;
	}
	
	
	
}
